{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. _nb_mocell:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## MOCell"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "from jmetal.algorithm.multiobjective.mocell import MOCell\n",
    "from jmetal.operator import SBXCrossover, PolynomialMutation\n",
    "from jmetal.problem import ZDT4\n",
    "from jmetal.util.archive import CrowdingDistanceArchive\n",
    "from jmetal.util.neighborhood import C9\n",
    "from jmetal.util.termination_criterion import StoppingByEvaluations\n",
    "\n",
    "problem = ZDT4()\n",
    "\n",
    "max_evaluations = 25000\n",
    "\n",
    "algorithm = MOCell(\n",
    "    problem=problem,\n",
    "    population_size=100,\n",
    "    neighborhood=C9(10, 10),\n",
    "    archive=CrowdingDistanceArchive(100),\n",
    "    mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),\n",
    "    crossover=SBXCrossover(probability=1.0, distribution_index=20),\n",
    "    termination_criterion=StoppingByEvaluations(max=max_evaluations)\n",
    ")\n",
    "\n",
    "algorithm.run()\n",
    "front = algorithm.get_result()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can now visualize the Pareto front approximation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from jmetal.lab.visualization.plotting import Plot\n",
    "\n",
    "plot_front = Plot(plot_title='Pareto front approximation', axis_labels=['x', 'y'])\n",
    "plot_front.plot(front, label='MOCell-ZDT4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### API"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%% raw\n"
    },
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. autoclass:: jmetal.algorithm.multiobjective.mocell.MOCell\n",
    "   :members:\n",
    "   :undoc-members:\n",
    "   :show-inheritance:\n"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": []
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
